import CryptoJS from 'crypto-js'

/**
 * 加密方法
 * @returns {string}
 */
export function encrypt(str, key) {
	var keyHex = CryptoJS.enc.Utf8.parse(key);
	var encrypted = CryptoJS.DES.encrypt(str, keyHex, {
		mode: CryptoJS.mode.ECB,
		padding: CryptoJS.pad.Pkcs7
	});
	return encrypted.ciphertext.toString();
}

/**
 * 解密方法
 * @returns {string}
 */
export function decrypt(str, key) {
	var keyHex = CryptoJS.enc.Utf8.parse(key);
	var decrypted = CryptoJS.DES.decrypt({
		ciphertext: CryptoJS.enc.Base64.parse(str)
	}, keyHex, {
		mode: CryptoJS.mode.ECB,
		padding: CryptoJS.pad.Pkcs7
	});
	var result_value = decrypted.toString(CryptoJS.enc.Utf8);
	return result_value;
}

// DES解密
// export const decryptDes = (ciphertext, key) => {
//   const keyHex = CryptoJS.enc.Utf8.parse(key);
//   // direct decrypt ciphertext
//   const decrypted = CryptoJS.DES.decrypt({
//      ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
//    }, keyHex, {
//      mode: CryptoJS.mode.ECB,
//      padding: CryptoJS.pad.Pkcs7
//   });
//   return decrypted.toString(CryptoJS.enc.Utf8);
// }


// DES加密
// export const encryptDes = (message, key) => {
//   const keyHex = CryptoJS.enc.Utf8.parse(key);
//   const encrypted = CryptoJS.DES.encrypt(message, keyHex, {
//    mode: CryptoJS.mode.ECB,
//    padding: CryptoJS.pad.Pkcs7
//    });
//   return encrypted.toString();
// }
 
